1. Field of the Invention
Invention relates to computer systems, and more particularly, to computer systems which display system messages or error messages to an user.
2. Description of Related Art
Computer systems are known which open a window to display a system message or an error message to an user. Since these messages are important and since prior art systems have no way of determining when a user has read an error message, the opening of a message window stops the processing of the program underway until such time as the user acknowledges having read the error message by taking some action, such as pressing "Return".
It is also known in the art to sound an alarm, such as a beep, to inform the user that an error has occurred. Such systems have the problem that a user may make a number of errors in the process of learning new software or of operating the computer so that, when others are nearby, the presence of a beep is embarrassing.
Eyetracking devices are known particularly in conjunction with heads up displays in certain control applications in aircraft. An eyetracker device monitors the eyes of a user and calculates the direction in which the user is looking and, in some applications, the particular point in three dimensional space on which the user's eyes focus.
One commercial eyetracker is the Dual-Purkinje-Image (DPI) Eyetracker, manufactured by Forward Optical Technologies, Inc. of El Chaon, Calif. It determines the direction of gaze over a large two dimensional visual field with great accuracy and without any attachments to the eye. It operates with infra-red light which is invisible to the subject and does not interfere with normal vision. The eyetracker has a pointing accuracy on the order of one minute of arc and response time on the order of one millisecond. One can utilize the DPI Eyetracker with an infra-red optometer to allow a continuous measure of eye focus, producing a three dimensional eyetracker.
Object oriented programming is a known form of software development that models the real world representation of objects or modules that contain data as well as instructions that work upon that data. Objects are the basic building blocks of an object oriented program. Objects are software entities. They may model something physical like a person or they may model something virtual like checking account. Normally an object has one or more attributes (fields) that collectively define the state of the object; behavior defined by a set of methods (procedures) that can modify those attributes; and an identity that distinguishes it from other objects. Encapsulation refers to the hiding of most of the details of the object. This permits the object to be treated as a single entity. However, the set of operations associated with the object are explicit and constitute a well defined interface. One object requests another object to perform one or more operations through messaging. An object is sometimes referred to as an instance of an abstract data type or class. The programmer may define a class of objects by describing the attributes and procedures common to the class. By defining the class only once, a plurality of instances can be created by associating the class attributes and procedures with each instance and allowing the instances to differ only in their identity or in a particular value associated with the range of values permitted for the class.
Object oriented programming also permits creation of subclasses in which class attributes and procedures can be inherited from the class by subordinate subclasses and creation of super classes in which only the common attributes and procedures of a group of instances of various classes are retained as the defining characteristics.